package com.ndp.fb.mongo.api;

import com.ndp.fb.enums.customaudience.OperateType;
import com.ndp.fb.model.CustomAudienceTemplateRoster;

import java.util.List;

/**
 * Created by elvisxiong on 15/11/13.
 */
public interface CustomAudienceTemplateMongoService {

    /**
     * 保存自定义受众模板
     * @param custAudienceTemplateId
     * @param rosters
     */
     void saveCustomAudienceTemplateRoster(Long custAudienceTemplateId,List<CustomAudienceTemplateRoster> rosters);

    /**
     * 获取自定义受众模板花名册
     * @param custAudienceTemplateId
     * @return
     */
     List<CustomAudienceTemplateRoster> getCustomAudienceTemplateRoster(Long custAudienceTemplateId);


    /**
     * 获取某个版本的修改内容
     *
     * @param custAudienceTemplateId
     * @param version
     * @return
     */
     List<CustomAudienceTemplateRoster> getCustomAudienceRosterHistory(Long custAudienceTemplateId, String version);

    /**
     * 保存自定义花名册历史
     * @param custAudienceTemplateId
     * @param version
     * @param operateType
     * @param creator
     * @param customAudienceTemplateRosters
     */
     void saveCustomAudienceRosterHistory(Long custAudienceTemplateId, String version, OperateType operateType, String creator,
                                                List<CustomAudienceTemplateRoster> customAudienceTemplateRosters);
    /**
     * 保存自定义花名册历史
     * @param custAudienceTemplateId
     * @param version
     * @param operateType
     * @param creator
     * @param name
     */
     void saveCustomAudienceNameRosterHistory(Long custAudienceTemplateId, String version, OperateType operateType, String creator,
                                                String name);

    /**
     * 删除自定义受众模板
     * @param templateIdLong
     * @param rosters
     */
    void deleteCustomAudienceTemplateRosters(Long templateIdLong, List<CustomAudienceTemplateRoster> rosters);

    /**
     * 删除全部自定义受众模板花名册
     * @param templateIdLong
     */
    void deleteALlCustomAudienceTemplateRosters(Long templateIdLong);

}
